/*
 * @Author: CPS
 * @Date: 2020-07-21 21:04:47
 * @Last Modified by:   Administrator
 * @Last Modified time: 2020-07-29 15:24:48
 * @Projectname Electron-fileWatcher
 * @Filename configControler.js
 * 本模块主要负责读取和保存配置文件
 */
'use strict'
const fs = require('fs');
const path = require('path');

function load(configPath) {
  // console.log('load接受到' + configPath)
  if (!configPath) return
  if (!fs.existsSync(configPath)) return

  if (fs.lstatSync(configPath).isDirectory()) {
    configPath = configPath + '/' + 'userConfig.json'
    if (!fs.existsSync(configPath)) return
  }

  let res = fs.readFileSync(configPath)
  return JSON.parse(res)
}


function save(savePath, config) {
  // console.log('生成配置文件:' + savePath)
  if (!config || !savePath) return
  if (!fs.lstatSync(savePath)) return

  Object.assign(config, {
    lastSaveTime: 124
  })

  fs.writeFile(
    savePath + '/' + 'userConfig.json',
    JSON.stringify(config, null, 2),
    (err) => {
      if (err) console.log('保存配置文件出错：' + err);
    })
}

export {
  load as loadConfig,
  save as saveConfig,
}